package com.ityedao.IO缓冲流.IO字符缓冲流.出师表案例;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

// 需求：恢复出师表的书序到新文件中
public class Test {
    public static void main(String[] args) {
        try (
                // 2、创建缓冲字符输入流管道与源文件接通
                Reader fr = new FileReader("src\\出师表(乱序).txt");
                BufferedReader br = new BufferedReader(fr);
                FileWriter fw = new FileWriter("src\\出师表(正序).txt");
                BufferedWriter bw = new BufferedWriter(fw);
        ) {
            // 1、定义一个ArrayList集合存储每段内容
            List<String> data = new ArrayList<>();

            // 3、按照行读取
            String line;
            while ((line = br.readLine()) != null){
                data.add(line);
            }

            // 4、对List集合中的每段文章进行排序
            Collections.sort(data);
            System.out.println(data);

            // 5、遍历List集合的每段内容，依次写出去到新文件中。
            for (String ln : data) {
                bw.write(ln);
                bw.newLine(); // 换行
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
